/**
 * 股票数据模型
 */
class Stocks extends CI_model {

    /**
     * 检查是否存在股票名称表，如果存在，则清除，否则，新建
     * @return [type] [description]
     */
    public function resetStocksTable() {
        $this->load->dbforge();
        $this->dbforge->drop_table('stocks', true);
        return $this->creatStock();
    }
    /**
     * 创建股票代码表
     */
    public function creatStock() {
        // 载入数据库维护类:
        $this->load->dbforge();
        // 创建字段
        $fields = array(
            'sid' => array(
                'type' => 'INT',
                'constraint' => 5,
                'unsigned' => TRUE,
                'auto_increment' => TRUE,
            ),
            'symbol' => array(
                'type' => 'varchar(20)',
                'null' => FALSE,
            ),
            'scode' => array(
                'type' => 'varchar(20)',
                'null' => FALSE,
            ),
            'sname' => array(
                'type' => 'varchar(20)',
                'null' => FALSE,
            ),
            'isStock' => array(
                'type' => 'tinyint(1)',
                'null' => FALSE,
                'default' => 1,
            ),
            'isSelected' => array(
                'type' => 'tinyint(1)',
                'null' => FALSE,
                'default' => 0,
            ),
            'noTable' => array(
                'type' => 'tinyint(1)',
                'null' => FALSE,
                'default' => 0,
            ),
            'sustainedGrowth' => array(
                'type' => 'tinyint(3)',
                'unsigned' => TRUE,
                'null' => FALSE,
                'default' => 0,
            ),
            'xsmlv' => array(
                'type' => 'decimal(10,2)',
                'null' => TRUE,
            ),
            'jlrhjl' => array(
                'type' => 'decimal(10,2)',
                'null' => TRUE,
            ),
            'lowpb' => array(
                'type' => 'decimal(3,1)',
                'null' => TRUE,
            ),
            'toppb' => array(
                'type' => 'decimal(3,1)',
                'null' => TRUE,
            ),
            'gridInterval' => array(
                'type' => 'tinyint(2)',
                'unsigned' => TRUE,
                'null' => FALSE,
                'default' => 3,
            ),
            'mgjzc' => array(
                'type' => 'decimal(10,2)',
                'null' => TRUE,
            ),
            'roe' => array(
                'type' => 'decimal(10,2)',
                'null' => TRUE,
            ),
        );
        $this->dbforge->add_field($fields);
        // 创建主键
        $this->dbforge->add_key('sid', TRUE);
        // 创建索引
        $this->dbforge->add_key('isStock');
        // 创建索引
        $this->dbforge->add_key('noTable');
        // 创建索引
        $this->dbforge->add_key('sustainedGrowth');
        // 创建表
        return $this->dbforge->create_table('stocks', TRUE);
    }

    /**
     * 更新股票名称，有则update，无则insert
     */
    public function replaceStockName($data) {
        $flag = $this->db->get_where('stocks', array('symbol' => $data['symbol']))->result_array();
        if ($flag) {
            $this->db->where(array('symbol' => $data['symbol']))->update('stocks', $data);
        } else {
            $this->db->insert('stocks', $data);
        }
    }
}